package com.tarena.lbs.user.pojo.query;

import com.tarena.lbs.base.protocol.pager.BasePageQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户查询参数（对应前端用户列表页面筛选条件）
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserQuery extends BasePageQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "用户姓名（筛选条件，支持模糊查询）")
    String userName; // 对应前端“用户姓名：请输入用户姓名”输入框

    @Schema(description = "手机号（筛选条件，支持模糊查询）")
    String phone; // 对应前端“手机号：请输入手机号”输入框

    @Schema(description = "渠道来源（筛选条件，精确匹配）")
    String channelSource; // 对应前端“渠道来源：请选择渠道”下拉框

    @Schema(description = "注册时间-开始日期（筛选条件，大于等于该时间）")
    Date registerTimeStart; // 对应前端“注册时间：开始日期”选择器

    @Schema(description = "注册时间-结束日期（筛选条件，小于等于该时间）")
    Date registerTimeEnd; // 对应前端“注册时间：结束日期”选择器

}